package com.softeem.score.manager.service;

import com.github.pagehelper.PageInfo;
import com.softeem.score.model.dto.AssginRoleDto;
import com.softeem.score.model.dto.LoginDto;
import com.softeem.score.model.dto.SysUserDto;
import com.softeem.score.model.entity.system.SysUser;
import com.softeem.score.model.vo.system.LoginVo;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author zhu
 * @since 2024-02-14
 */
public interface SysUserService {

    LoginVo login(LoginDto loginDto);

    SysUser getUserInfo(String token);

    void logout(String token);

    PageInfo<SysUser> findByPage(Integer pageNum, Integer pageSize, SysUserDto sysUserDto);

    void saveSysUser(SysUser sysUser);

    void updateSysUser(SysUser sysUser);

    void deleteById(Long userId);

    void doAssign(AssginRoleDto assginRoleDto);

    void updateStatus(Long userId, Integer status);

    void updateAvatar(Long userId, String avatar, String token);

    void updatenewPassword(String oldPassword, String newPassword);

    void updateMobile(String username, String mobile, String code, String token);

    void restartPassword(String username, String mobile, String code);
}
